# -*- coding: utf-8 -*-
from auto.export_source_data_ import export_data
from auto.init_jdk import is_exists_jdk
from auto.sync_table_schema import schema
from auto.untils import resource_path
from auto.create_database import ddl
from auto.update_dict_item import insert


def menu():
    """显示主菜单选项"""
    print("\n" + "#" * 50)
    print("           多功能选择菜单")
    print("#" * 50)
    # print("1. 判断jdk 是否存在")
    # print("2. kong")
    # print("3. kong")
    print("4. 创建数据库")
    print("5. 同步 equipment 库表结构，并初始胡数据")
    print("6. 同步 activiti 库表结构，并初始胡数据")
    print("7. 配置 sys_dict_item 表中信息")
    print("0. 退出程序")
    print("#" * 50)


def choose():
    while True:
        menu()
        try:
            choice = input("\n请选择功能 (输入数字): ").strip()

            if choice == '1':
                # 是否存在jdk
                if is_exists_jdk():
                    print("jdk 1.8 已经安装")
            elif choice == '2':
                pass
            elif choice == '3':
                pass
            elif choice == '4':
                ddl(None, resource_path('data/create_database.sql'))
            elif choice == '5':
                # 同步 equipment 库表结构，并初始胡数据
                schema("pigxx_equipment")
                export_data("pigxx_equipment")
                ddl("pigxx_equipment", resource_path('data/export_equipment.sql'))
            elif choice == '6':
                # 同步 pigxx_ac 库表结构，并初始胡数据
                schema("pigxx_ac")
                ddl("pigxx_ac", resource_path('data/pigxx_ac_data.sql'))
            elif choice == '7':
                # 配置 sys_dict_item 表中信息
                insert()
            elif choice == '0':
                print("\n感谢使用，再见！")
                break
            else:
                print(f"\n无效选择: '{choice}'")

        except KeyboardInterrupt:
            # 允许用户用 Ctrl+C 安全退出
            print("\n\n程序被用户中断。再见！")
            break
        except Exception as e:
            print(f"\n发生未知错误: {e}")


if __name__ == '__main__':
    """主函数：程序入口点"""
    choose()
